/**
 * @author        Nicolas Bottarini <nicolasbottarini@gmail.com>, 404 <http://www.proyecto404.com>
 * @version       $Rev: 3 $
 * @lastrevision  $Date: 2011-09-12 16:45:37 +0000 (Mon, 12 Sep 2011) $	 
 */
package com.proyecto404.core.io {
	import com.proyecto404.core.BaseObject;
	import com.proyecto404.core.JobQueue;
	import com.proyecto404.core.collections.IQueue;
	import com.proyecto404.core.collections.Queue;
	import com.proyecto404.core.collections.Set;
	
	import org.osflash.signals.ISignal;
	import org.osflash.signals.Signal;
	
	public class MultiFileLoader extends BaseObject {
		private var _jobQueue:JobQueue;
		
		public function MultiFileLoader() {
			_jobQueue = new JobQueue();
		}
		
		public function get allLoaded():ISignal {
			return _jobQueue.allJobsExecuted;
		}
		
		public function get error():ISignal {
			return _jobQueue.error;
		}

		public function addFile(file:String, callback:Function):void {
			var loadFileJob:LoadFileJob = new LoadFileJob(file);
			_jobQueue.addJob(loadFileJob, callback);
		}
		
		public function loadAll():void {
			_jobQueue.execute();
		}
	}
}
